The present invention relates in general to the field of computers and other data processing systems including hardware, software, and processes. More particularly, it relates to the interactive viewing and modification of object properties in a graphical integrated development environment (IDE).
Integrated development environments (IDEs) have grown in popularity with software developers in recent years. Current IDEs include functionalities for authoring, editing, compiling and debugging software, generally through the implementation of a graphical interface that conveys the appearance of all development being performed within a single application. The graphical interface typically comprises separate windows or panes for the display of software objects and their properties and includes an editor that allows users to control artifacts through direct manipulation of their visual representations. An artifact within the graphical editor is typically selected through a user gesture and, once selected, a separate dialog window or pane is opened to read, write, or modify its properties. The resulting, disjointed display is inefficient as it requires the user to visually switch between the editor view and the properties dialog/view of each object they wish to inspect or modify. In some cases, the object's properties view may be minimized or closed, requiring additional user gestures to manually access, view and modify its contents.
It is not always desirable for the editor window and the properties dialog/view window to be open at the same time. If the editor window is maximized to provide the greatest amount of work area, the user will often need to minimize or exit the editor window and then access and open the properties dialog/view window to display a selected object's properties. Once the viewing or editing of object properties is completed, the user reverses the process to return to the graphical editor. This sequence of processes can be awkward, error-prone and time consuming. Conversely, if the properties dialog/view window is kept open, it either reduces the total work area available for use by the graphical editor (e.g., in the case of a docked properties view) or it obscures a portion of the graphical editor's work area (e.g., in the case of a floating dialog window).
Previous approaches include property dialog or inspector windows that float above a graphical editor work space. These property dialog/views can be displayed on-demand and generally do not consume as much workspace as static windows or panes. However, they typically open in their last-used location, requiring the user to maintain their positional orientation between the property dialog/view and the selected object. Furthermore, the user is still required to visually switch between the selected object and the property dialog/view.
Other existing approaches include pop-up windows that display embedded information regarding an object. However, pop-up windows in these approaches are not implemented to display the properties of a selected object in a graphical editor, nor do they display the properties of multiple objects. Furthermore, they do not move with the cursor (i.e., cursor-attached), their content does not change dynamically when the cursor hovers over an object, nor is their content editable upon explicit gesture. In view of the foregoing, there is a need for improved management of an object's properties in a graphical IDE.